package com.proyemp.entity.classes;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


/**
 * The persistent class for the quejas database table.
 * 
 */
@Entity
@Table(name="quejas")
public class Queja implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id_queja")
	private Integer idQueja;

	private String descripcion;

    @Temporal( TemporalType.DATE)
	@Column(name="fecha_actualizacion")
	private Date fechaActualizacion;

	@Column(name="usuario_modificacion")
	private String usuarioModificacion;

	//bi-directional many-to-one association to Empleado
    @ManyToOne
	@JoinColumn(name="atendida_por_empleado")
	private Empleado empleado1;

	//bi-directional many-to-one association to Empleado
    @ManyToOne
	@JoinColumn(name="empleado_solucion_queja")
	private Empleado empleado2;

	//bi-directional many-to-one association to EstadosQueja
    @ManyToOne
	@JoinColumn(name="id_estado_queja")
	private EstadosQueja estadosQueja;

	//bi-directional many-to-one association to PrioridadesQueja
    @ManyToOne
	@JoinColumn(name="id_prioridad")
	private PrioridadesQueja prioridadesQueja;

	//bi-directional many-to-one association to TiposQueja
    @ManyToOne
	@JoinColumn(name="id_tipo_queja")
	private TiposQueja tiposQueja;

	//bi-directional many-to-one association to QuejasAliado
	@OneToMany(mappedBy="queja")
	private Set<QuejasAliado> quejasAliados;

	//bi-directional many-to-one association to QuejasCliente
	@OneToMany(mappedBy="queja")
	private Set<QuejasCliente> quejasClientes;

	//bi-directional many-to-one association to QuejasUsuariosFinale
	@OneToMany(mappedBy="queja")
	private Set<QuejasUsuariosFinale> quejasUsuariosFinales;

    public Queja() {
    }

	public Integer getIdQueja() {
		return this.idQueja;
	}

	public void setIdQueja(Integer idQueja) {
		this.idQueja = idQueja;
	}

	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public Date getFechaActualizacion() {
		return this.fechaActualizacion;
	}

	public void setFechaActualizacion(Date fechaActualizacion) {
		this.fechaActualizacion = fechaActualizacion;
	}

	public String getUsuarioModificacion() {
		return this.usuarioModificacion;
	}

	public void setUsuarioModificacion(String usuarioModificacion) {
		this.usuarioModificacion = usuarioModificacion;
	}

	public Empleado getEmpleado1() {
		return this.empleado1;
	}

	public void setEmpleado1(Empleado empleado1) {
		this.empleado1 = empleado1;
	}
	
	public Empleado getEmpleado2() {
		return this.empleado2;
	}

	public void setEmpleado2(Empleado empleado2) {
		this.empleado2 = empleado2;
	}
	
	public EstadosQueja getEstadosQueja() {
		return this.estadosQueja;
	}

	public void setEstadosQueja(EstadosQueja estadosQueja) {
		this.estadosQueja = estadosQueja;
	}
	
	public PrioridadesQueja getPrioridadesQueja() {
		return this.prioridadesQueja;
	}

	public void setPrioridadesQueja(PrioridadesQueja prioridadesQueja) {
		this.prioridadesQueja = prioridadesQueja;
	}
	
	public TiposQueja getTiposQueja() {
		return this.tiposQueja;
	}

	public void setTiposQueja(TiposQueja tiposQueja) {
		this.tiposQueja = tiposQueja;
	}
	
	public Set<QuejasAliado> getQuejasAliados() {
		return this.quejasAliados;
	}

	public void setQuejasAliados(Set<QuejasAliado> quejasAliados) {
		this.quejasAliados = quejasAliados;
	}
	
	public Set<QuejasCliente> getQuejasClientes() {
		return this.quejasClientes;
	}

	public void setQuejasClientes(Set<QuejasCliente> quejasClientes) {
		this.quejasClientes = quejasClientes;
	}
	
	public Set<QuejasUsuariosFinale> getQuejasUsuariosFinales() {
		return this.quejasUsuariosFinales;
	}

	public void setQuejasUsuariosFinales(Set<QuejasUsuariosFinale> quejasUsuariosFinales) {
		this.quejasUsuariosFinales = quejasUsuariosFinales;
	}
	
}